package common.tests 
{
	import common.CompositeTest;
	import common.IApp;
	import common.ICompositeTest;
	import common.ITest;
	import common.ITestResult;
	import common.TestResult;
	import common.TestUtil;
	import flash.utils.getQualifiedClassName;
	
	/**
	 * ...
	 * @author Luke Van In
	 */
	public class AppTest implements ITest 
	{
		
		private var _app:IApp;
		
		private var _tests:ICompositeTest;
		
		
		
		/**
		 * 
		 * @param	app
		 */
		public function AppTest(app:IApp) 
		{
			super();
			
			this._app = app;
			
			this._tests = new CompositeTest(getQualifiedClassName(this));
			
			this._tests.addTest(new AppStartTest(this._app));
			
			this._tests.addTest(new AppShutdownTest(this._app));
		}
		
		
		
		
		
		
		
		/**
		 * 
		 * @return
		 */
		public function run():ITestResult 
		{
			var result:ITestResult = this._tests.run();
			
			return result;
		}
		
	}


}